package cn.tedu.hospitalgroupproject.server.content.dao.persist.repository;


import cn.tedu.hospitalgroupproject.server.common.pojo.vo.PageData;
import cn.tedu.hospitalgroupproject.server.content.pojo.entity.Clinic;
import cn.tedu.hospitalgroupproject.server.content.pojo.param.ClinicUpdateInfoParam;
import cn.tedu.hospitalgroupproject.server.content.pojo.vo.ClinicListVO;
import cn.tedu.hospitalgroupproject.server.content.pojo.vo.ClinicStandardVO;
import cn.tedu.hospitalgroupproject.server.content.pojo.vo.DepartmentListVO;

public interface IClinicRepository {

    /*插入门诊数据*/
    int insert(Clinic clinic);

    /*删除指定ID下的门诊数据*/
    int deleteById(Long id);

    /*更新指定ID下的门诊数据*/
    int updateById(Clinic clinic);
    /*根据ID查找对应门诊数据*/
    ClinicStandardVO getStandardById(Long id);

    /**
     * 根据名称统计当前科室ID下门诊数量，通常用于删除科室时做相应的检查
     *
     * @param id 科室ID
     * @return 匹配此科室ID的门诊数据的数量
     */
    int countByDeptId(Long id);

    /**
     * 查询门诊列表
     *
     * @param pageNum  页码
     * @param pageSize 每条记录数
     * @return 门诊列表的分页数据
     */
    PageData<ClinicListVO> list(Integer pageNum, Integer pageSize);

}
